1. Technical Field
The present invention relates in general to methods for efficient access to multiple computer application programs and in particular to methods for efficient access to computer application programs in a multi-tasking system having a plurality of applications simultaneously active and displayed in a plurality of overlapping windows.
2. Background Art
A relatively recent advance in the computer arts allows a user to simultaneously access, display and manipulate data from a variety of related and/or unrelated computer application programs. This process is generally referred to as "multi-tasking." In a true multi-tasking system, several application programs are active simultaneously. Multi-tasking has been simulated on some of the less powerful personal computers in that, only one application is in fact active at any one time, but the user interface presents the effective appearance of multi-tasking. Activity relating to each application is generally displayed in a viewport or "window." These windows may overlap and partially or completely obscure each other and the data therein, or may be presented in a visually discreet, i.e. non-overlapping manner. Optionally, the user may work with data in any of the open windows by changing the active work area. Examples of windowing multi-tasking programs include Windows.TM., published by Microsoft Corp. and DesQview.TM., published by QuarterDeck Office Systems. Both of these windowing multi-tasking systems support the IBM Personal System 2 (PS/2) series of personal computers.
There are, however, certain inherent problems in most such multi-tasking systems. In order to reach the data which the user desires to manipulate, the user must often follow a different and sometimes complicated procedure for each application program and, within each program, at each level of data type, such as file, page, or word, which the user attempts to access. Consequently, the user faces a loss of time due to the number of key strokes necessary simply to obtain a visual image of the ultimate object data or, to input data in one program while working in a second program simply due to the time necessary for the system to respond to the various commands given it. Furthermore, the user's job is made more difficult due to the necessity of remembering a multiplicity of different interface and access procedures for different application programs and for different levels within the same application program. Finally, since many true multi-tasking systems allow access between any level of one active program to any level of another active program, such systems require an unusually large amount of resident memory in order to service such requests promptly and efficiently.
Certain application programs have attempted to solve these problems but have done so at the expense of various desirable features. For example, the HyperCard Program of Apple Computer discussed at length in The Complete HyperCard Handbook, by Danny Goodman, Bantam Books (1987), provides a simple means for avoiding a predetermined organization scheme when accessing object data, allowing direct linking of various disparate types of data at the user's command, via the activation of a "button." Although this program provides a uniform, simple and relatively swift method of interfacing between different types of data which may be stored in completely different formats, it suffers from an inability to display more than one type of object data at a time on the screen and suffers from a requirement for an enormous amount of resident memory and static storage capacity to function properly. Moreover, this program is designed to be a tool kit enabling users to design their own permanent links between data, thereby creating new applications rather than a program for providing access to different levels of data which are visually obscured within preexisting application programs which are not otherwise connected.
Another approach known in the art is the utility program published by SoftLogic Solutions as SoftwareCarousel. This program permits up to ten different application programs or data files to be loaded and allows the user to move from one to the other with a single keystroke. This utility program requires configuration by the user and is not a multi-tasking system.
Recently, a method for navigating between and within application programs resident in a multi-tasking computer system has been proposed which utilizes a direct cursor-controlled access to the multiple application programs. Utilizing this technique, two or more programs may be optionally linked together in an arbitrary sequence to form a chain. The user may then invoke a function resident in a computer system to directly access windows and programs in the chain which are running in a sequence determined by the order in which the user opens the window in a given session. In this manner, the user may access data within any single application program by viewing individual programs in a method controlled by a so-called "exploding" cursor function. While this system represents an improvement over known systems, it does not permit the user to simply and easily access a selected program among a plurality of multi-tasking applications without the necessity for previously linking together such programs so that this function may be utilized.
Still more recently, a method has been proposed for accessing visually obscured data in a multi-tasking system by selectively altering the display mode attribute of individual windows to render the interior of selected windows temporarily transparent. This process may be utilized repeatedly until such time as visually obscured data beneath a large number of overlapped applications may become visible. While this system permits visually obscured data to be displayed, it does not permit the user to simply and easily access individual applications from a plurality of applications which are simultaneously active and displayed within overlapping windows.